package com.ruoyi.decision.service.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.decision.domain.Task;
import com.ruoyi.decision.mapper.TaskMapper;
import com.ruoyi.decision.service.ITaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Locale;
import java.util.UUID;

/**
 * 预案Service业务层处理
 * 
 * @author zbw
 * @date 2022-07-19
 */
@Service
public class TaskServiceImpl implements ITaskService 
{
    @Autowired
    private TaskMapper taskMapper;

    /**
     * 查询预案
     * 
     * @param taskId 预案主键
     * @return 预案
     */
    @Override
    public Task selectTaskByTaskId(String taskId)
    {
        return taskMapper.selectTaskByTaskId(taskId);
    }

    /**
     * 查询预案列表
     * 
     * @param task 预案
     * @return 预案
     */
    @Override
    public List<Task> selectTaskList(Task task)
    {
        return taskMapper.selectTaskList(task);
    }

    /**
     * 新增预案
     * 
     * @param task 预案
     * @return 结果
     */
    @Override
    public Task insertTask(Task task)
    {
        String taskId = UUID.randomUUID().toString().toLowerCase(Locale.ROOT).replace("-","");
        task.setTaskId(taskId);
        task.setTaskState(0);
        int i = taskMapper.insertTask(task);
        Task task1 = taskMapper.selectTaskByTaskId(taskId);
        return task;
    }

    /**
     * 修改预案
     * 
     * @param task 预案
     * @return 结果
     */
    @Override
    public int updateTask(Task task)
    {
        task.setUpdateTime(DateUtils.getNowDate());
        task.setTaskState(1);
        return taskMapper.updateTask(task);
    }

    /**
     * 批量删除预案
     * 
     * @param taskIds 需要删除的预案主键
     * @return 结果
     */
    @Override
    public int deleteTaskByTaskIds(String[] taskIds)
    {
        return taskMapper.deleteTaskByTaskIds(taskIds);
    }

    /**
     * 删除预案信息
     * 
     * @param taskId 预案主键
     * @return 结果
     */
    @Override
    public int deleteTaskByTaskId(String taskId)
    {
        return taskMapper.deleteTaskByTaskId(taskId);
    }
}
